The present invention is related to disc drives. In particular, the present invention is related to repeatable runout compensation.
In a computer disc drive, data is stored on a computer disc in concentric tracks. In disc drives with relatively high track densities, a servo feedback loop is used to maintain a head over the desired track during read or write operations. This is accomplished by utilizing prerecorded servo information either on a dedicated servo disc or on angularly spaced sectors that are interspersed among the data on a disc. During track following, the servo information sensed by the head is demodulated to generate a position error signal (PES), which provides an indication of the position error of the head away from the track center. The PES is then converted into an actuator control signal, which is fed back to control an actuator that positions the head.
In general, there are two forms of head positioning errors: repeatable and non-repeatable. Non-repeatable errors are generally unpredictable and therefore can not be removed until after they occur. Repeatable errors, which are generally caused by mechanical irregularities in the structure of the disc drive or errors introduced when writing the servo tracks, can be predicted and therefore theoretically can be cancelled out as they occur. In general, these repeatable runout errors (RRO) are removed by introducing a compensation signal into the servo loop that cancels the repeatable positioning error. Techniques for generating such compensation signals are generally referred to as feedforward cancellation.
Because the feedforward cancellation signal is introduced into the servo loop, it can cause the servo loop to become unstable under certain conditions. In particular, if the cancellation signal is too large for a given Position Error Signal, the cancellation signal can cause the head to oscillate across the track center line, thereby keeping the head from reaching a steady state position over the track.
To avoid this problem, the prior art has developed adaptive feedforward cancellation. An example of adaptive feedforward cancellation is shown in Workman (U.S. Pat. No. 4,616,276). Under adaptive feedforward cancellation, the cancellation signal is initially set to zero. The position error signal is then measured at a first sector and is used to set the amplitude of the cancellation signal for the next sector. To avoid instability, the position error signal is multiplied by a learning rate, which is between zero and one. Under some systems, the learning rate is reduced at each successive sector to further ensure stability while improving the likelihood that the cancellation signal will fully cancel the repeatable runout error.
One problem with current adaptive feedforward cancellation techniques is that the learning rate must be set very low in order to ensure stability in all disc drives. As a result, the cancellation signal takes much longer to train, especially for higher harmonics. In fact, for some disc drives, the cancellation signal never reaches a value that completely cancels the repeatable runout error at some harmonics.
A method and apparatus are provided for generating an adaptive feedforward cancellation signal for a next sector of a disc in a disc drive. The cancellation signal includes at least one tap weight multiplied by at least one trigonometric function. To form the cancellation signal, the method and apparatus first determine a servo loop transfer function relative to a feedforward cancellation component in the disc drive. The transfer function is then inverted to form filter parameters. A position error value is then measured for a current signal and is passed through a filter formed from the filter parameters. This creates a filtered position error value that is used with the tap weights of a current sector to determine the tap weights for the cancellation signal of the next sector.